嗨嚕嗨嚕!
我們今天要跟大家講的是深度學習(deep learning),
在理解之前,需要先理解一個最重要的核心概念那就是神經網路
我們的人腦是由上百億個神經元組成,每個神經元都能接收來自其他神經元的訊號,進行處理後再傳遞給下一個神經元。這樣的傳遞過程讓我們能夠理解外界資訊、辨識圖像或語音,甚至做出判斷和行動。例如,當我們看到「紅色、圓形的水果」時,大腦可以將所有接收到的訊息透過神經元處理後讓我們知道他是一顆蘋果。
而今天要談到的深度學習,基本上就是建立於神經網路(Neural Network)概念上。神經網路又常被稱作人工神經網路(Artificial Neural Network),它的概念其實是受到「人類大腦」的啟發而設計出來的,主要是希望模仿人腦裡神經元處理資訊的方式,讓電腦也能接收、傳遞並最終完成處理複雜的資訊。簡單來說,神經網路就是模擬重現神經元運作的過程的一套數學公式,架構會像下圖這樣,每一個圓圈圈都是一個神經元,由許多神經元組成的架構就形成一個神經網路啦!

單一神經元
上圖我們看到的是很多神經元一起串接再一起,在了解他怎麼運作前,我們要先知道單一的神經元是如何計算處理資料的,它的計算公式如下:

| 符號 | 代表意思 | 說明 |
|---|---|---|
| x_i | 輸入值 (input) | 代表輸入的特徵 |
| w_i | 權重 (weight) | 代表每個輸入的重要程度 |
| b | 偏置 (bias) | 控制整體輸出結果的基準值 |
| f() | 激活函數 (activation function) | 將線性組合的結果轉成非線性輸出(例如 sigmoid、ReLU)。 |
| y | 輸出 (output) | 最終結果,例如分類機率或預測值。 |
公式白話來說,就是將每個輸入乘上對應的權重後加總,再加上偏置,最後通過激活函數轉換成輸出結果。
用下圖來更理解整個運作過程
其中常見的激活函數包括:
sigmoid
數值的結果會落在0~1之間
特點:輸入數值越大輸出就會越接近 1,輸入越小輸出越接近 0
缺點:容易造成梯度消失
tanh
數值會落在-1~1之間
跟sigmoid 很像,但他比sigmoid 收斂還快,此外 tanh 也會遇到梯度消失的問題
ReLU:
最常用的激活函數,公式:
特點:如果輸入值是正的,經過 ReLU 後輸出值保持不變;如果輸入值是負的,ReLU 會把它轉成 0。這樣可以讓模型在訓練時更穩定,也避免梯度消失問題。
多層神經網路
剛剛我們看到的是一個單一神經元的運作方式,但如果只有一層神經元,其實能處理的問題非常有限,為了讓模型能學到更複雜的關係,我們就把很多層的神經元「疊起來」,讓前一層的輸出變成下一層的輸入,這樣就形成了多層神經網路,我們一開始看到的圖就是屬於多層神經網路!
一個典型的多層神經網路通常會包含三種層:
深度學習的核心其實就是建立在「多層神經網路」之上。比起傳統機器學習模型,深度學習因為能堆疊更多層、進行大量非線性轉換,因此能自動從資料中學習特徵,不再需要人工手動設計特徵,這也是它能在影像辨識、語音識別、自然語言處理等任務中非常常被拿來使用的原因。
好啦~今天就先淺淺談一下,之後會再跟大家介紹更多!
先大家掰掰!